package com.xhji.web.mvc.response;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

public interface GenericResponse<T> {

    int getCode();

    void setCode(int code);

    String getMessage();

    void setMessage(String message);

    T getData();

    void setData(T data);

    String getStackInfo();

    void setStackInfo(String stackInfo);

    String getTradeId();

    void setTradeId(String tradeId);

    List<FieldError> getDetails();

    void setDetails(List<FieldError> details);

    boolean isSuccess();


    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    class FieldError {
        /**
         * 字段名.
         */
        private String field;
        /**
         * 校验消息.
         */
        private String message;
        /**
         * 传入的值.
         */
        private Object value;
    }
}
